package com.pf.common.utils;

import org.apache.commons.lang3.RandomStringUtils;

import java.util.Random;

/**
 * @author PanFei
 * @version 1.0.0
 * @createTime 2023/4/2 12:20
 */
public class MyStringUtils {

    public static void main(String[] args) {
        // 自己手写
        System.out.println(genRandomStr(4));
        //　工具类（推荐）
        System.out.println(RandomStringUtils.randomAlphanumeric(4));
    }

    public static String genRandomStr(int len) {
        // 35是因为数组是从0开始的，26个字母+10个数字
        final int maxNum = 36;
        int i; // 生成的随机数
        int count = 0; // 生成的随机数的长度
        char[] array = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
                't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};

        StringBuilder str = new StringBuilder();
        Random r = new Random();
        while (count < len) {
            // 生成随机数，0~35
            i = r.nextInt(maxNum);

            if (i >= 0 && i < array.length) {
                str.append(array[i]);
                count++;
            }
        }

        return str.toString();
    }
}
